<html>
<head>
<title>Alloy Models</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<STYLE TYPE="text/css">
<!--
P { margin-top:7px; margin-bottom:8px; }
-->
</STYLE>
</head>

<body bgcolor="#FFFFFF" text="#000000">

<h2>Utility Modules</h2>

<p>
Alloy 4 contains a number of utility modules that provide common
operations on graphs, integers, etc. Here is a list of the modules
and a short description for each module:
</p>

<b>module util/boolean</b>

  <blockquote>
  Creates a Bool type with two singleton subtypes: True and False.
  </blockquote>

<b>module util/graph[node]</b>

  <blockquote>
  Utilities for common operations and contraints on graphs.
  </blockquote>

<b>module util/integer</b>

  <blockquote>
  Utilities for using integers in Alloy.
  </blockquote>

<b>module util/natural</b>

  <blockquote>
  Utilities for using the set of nonnegative integers (0, 1, 2, ...).
  </blockquote>

<b>module util/ordering[element]</b>

  <blockquote>
  Creates a single linear ordering over the atoms in elem.
  </blockquote>

<b>module util/relation</b>

  <blockquote>
  Utilities for common operations and constraints on binary relations.
  </blockquote>

<b>module util/sequniv</b>

  <blockquote>
  This module models each sequence of elements using a relation.<br>
  (This module is imported automatically if your model uses the new <a href="seq.html">seq</a> keyword.
  </blockquote>

<b>module util/ternary</b>

  <blockquote>
  Utilities for common operations and constraints on ternary relations.
  </blockquote>

</body>
</html>
